Program Slicing Based on Sentence Executability
نویسندگان
چکیده
We present point slicing, a new slicing technique for imperative programs that gives an answer to the question Which sentences can be executed if sentence p is executed?, very common in program testing, debugging, and understanding tasks and, as far as we know, not directly addressed by other slicing techniques. Point slicing uses a program point as criterion and computes slices by deleting sentences that are proved to be not reachables by executions including the criterion point. We also show how to extend point slicing criterion to a set of program points and how the new technique can be also used to answer to a more precise question: Which sentences are possibly executed if sentence p is executed in a program state satisfying condition φ? Because, minimal point slices are, in general, not computable, we provide definitions of safe approximations for each type of point slice.
منابع مشابه
Using Program Slicing Technique to Reduce the Cost of Software Testing
Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prospero...
متن کاملBackward Trace Slicing for Conditional Rewrite Theories
In this paper, we present a trace slicing technique for rewriting logic that is suitable for analyzing complex, textually-large system computations in rewrite theories that may contain conditional equations and/or rules. Given a conditional execution trace T and a slicing criterion for the trace (i.e., a set of positions that we want to observe in the final state of the trace), we traverse T fr...
متن کاملAn Approach to Slicing Widget-Based Event-Driven Programs and Its Implementation
In program slicing, widget-based event-driven programs are different from conventional programs because of their particular features of object construction infrastructure and event-driven mechanism and asynchronous access of global variables. Therefore conventional slicing techniques cannot be applied to widget-based event-driven programs. To solve this problem, this paper first introduces a se...
متن کاملA State-Based Model Slicing: A Survey
Program slicing is a source code analysis and manipulation technique, in which a subprogram is identified based on a user-specified slicing criterion. The criterion captures the point of interest within the program, while the process of slicing consists of following dependencies to locate those parts of the program that may affect the slicing criterion [Weiser 1979]. Some flavours of slicing me...
متن کاملSlicing Functional Programs by Calculation
Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of gra...
متن کامل